<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>UsingDerby.java</title>
</head>
<body bgcolor="white">
<pre><tt><font color="#000000">001:</font> <i><font color="#9A1900">// MV-DerbyServAndEmbed/UsingDerby.java</font></i>
<font color="#000000">002:</font>  
<font color="#000000">003:</font> <i><font color="#9A1900">/*</font></i>
<font color="#000000">004:</font> <i><font color="#9A1900"> *                  Embedded</font></i>
<font color="#000000">005:</font> <i><font color="#9A1900"> * Compilation:</font></i>
<font color="#000000">006:</font> <i><font color="#9A1900"> *     javac UsingDerby.java</font></i>
<font color="#000000">007:</font> <i><font color="#9A1900"> *</font></i>
<font color="#000000">008:</font> <i><font color="#9A1900"> * Running (derby.jar must be in your classpath;</font></i>
<font color="#000000">009:</font> <i><font color="#9A1900"> * do not forget about adding the current directory)</font></i>
<font color="#000000">010:</font> <i><font color="#9A1900"> *     java -cp .:opt/java/db/lib/derby.jar UsingDerby</font></i>
<font color="#000000">011:</font> <i><font color="#9A1900"> *</font></i>
<font color="#000000">012:</font> <i><font color="#9A1900"> * Leave the table 'Ksiazki', so it can be used by server</font></i>
<font color="#000000">013:</font> <i><font color="#9A1900"> *</font></i>
<font color="#000000">014:</font> <i><font color="#9A1900"> *</font></i>
<font color="#000000">015:</font> <i><font color="#9A1900"> *                   Server</font></i>
<font color="#000000">016:</font> <i><font color="#9A1900"> *</font></i>
<font color="#000000">017:</font> <i><font color="#9A1900"> * Database (produced by running embedded version)</font></i>
<font color="#000000">018:</font> <i><font color="#9A1900"> * should be in the current directory</font></i>
<font color="#000000">019:</font> <i><font color="#9A1900"> * together with derby.jar and derbynet.jar</font></i>
<font color="#000000">020:</font> <i><font color="#9A1900"> * (no need to add derby.jar to the classpath, if</font></i>
<font color="#000000">021:</font> <i><font color="#9A1900"> * it is in the current directory)</font></i>
<font color="#000000">022:</font> <i><font color="#9A1900"> *</font></i>
<font color="#000000">023:</font> <i><font color="#9A1900"> * Start the server with:</font></i>
<font color="#000000">024:</font> <i><font color="#9A1900"> *     java -jar derbynet.jar start</font></i>
<font color="#000000">025:</font> <i><font color="#9A1900"> * and, when not needed, shut it down with</font></i>
<font color="#000000">026:</font> <i><font color="#9A1900"> *     java -jar derbynet.jar stop</font></i>
<font color="#000000">027:</font> <i><font color="#9A1900"> *</font></i>
<font color="#000000">028:</font> <i><font color="#9A1900">**/</font></i>
<font color="#000000">029:</font> <b><font color="#000080">import</font></b> java<font color="#990000">.</font>sql<font color="#990000">.</font>Connection<font color="#990000">;</font>
<font color="#000000">030:</font> <b><font color="#000080">import</font></b> java<font color="#990000">.</font>sql<font color="#990000">.</font>DatabaseMetaData<font color="#990000">;</font>
<font color="#000000">031:</font> <b><font color="#000080">import</font></b> java<font color="#990000">.</font>sql<font color="#990000">.</font>DriverManager<font color="#990000">;</font>
<font color="#000000">032:</font> <b><font color="#000080">import</font></b> java<font color="#990000">.</font>sql<font color="#990000">.</font>PreparedStatement<font color="#990000">;</font>
<font color="#000000">033:</font> <b><font color="#000080">import</font></b> java<font color="#990000">.</font>sql<font color="#990000">.</font>ResultSet<font color="#990000">;</font>
<font color="#000000">034:</font> <b><font color="#000080">import</font></b> java<font color="#990000">.</font>sql<font color="#990000">.</font>ResultSetMetaData<font color="#990000">;</font>
<font color="#000000">035:</font> <b><font color="#000080">import</font></b> java<font color="#990000">.</font>sql<font color="#990000">.</font>SQLException<font color="#990000">;</font>
<font color="#000000">036:</font> <b><font color="#000080">import</font></b> java<font color="#990000">.</font>sql<font color="#990000">.</font>Statement<font color="#990000">;</font>
<font color="#000000">037:</font> 
<font color="#000000">038:</font> <b><font color="#000080">import</font></b> java<font color="#990000">.</font>io<font color="#990000">.</font>BufferedReader<font color="#990000">;</font>
<font color="#000000">039:</font> <b><font color="#000080">import</font></b> java<font color="#990000">.</font>io<font color="#990000">.</font>IOException<font color="#990000">;</font>
<font color="#000000">040:</font> <b><font color="#000080">import</font></b> java<font color="#990000">.</font>io<font color="#990000">.</font>InputStreamReader<font color="#990000">;</font>
<font color="#000000">041:</font> <b><font color="#000080">import</font></b> java<font color="#990000">.</font>util<font color="#990000">.</font>ArrayList<font color="#990000">;</font>
<font color="#000000">042:</font> 
<font color="#000000">043:</font> <b><font color="#0000FF">public</font></b> <b><font color="#0000FF">class</font></b> <font color="#009900">UsingDerby</font> <font color="#FF0000">{</font>
<font color="#000000">044:</font>     <b><font color="#0000FF">private</font></b> <b><font color="#0000FF">static</font></b> BufferedReader br <font color="#990000">=</font> <b><font color="#0000FF">null</font></b><font color="#990000">;</font>
<font color="#000000">045:</font> 
<font color="#000000">046:</font>     <b><font color="#0000FF">public</font></b> <b><font color="#0000FF">static</font></b> <font color="#009900">void</font> <b><font color="#000000">main</font></b><font color="#990000">(</font>String<font color="#990000">[]</font> args<font color="#990000">)</font> <font color="#FF0000">{</font>
<font color="#000000">047:</font>         br <font color="#990000">=</font> <b><font color="#0000FF">new</font></b> <b><font color="#000000">BufferedReader</font></b><font color="#990000">(</font>
<font color="#000000">048:</font>                  <b><font color="#0000FF">new</font></b> <b><font color="#000000">InputStreamReader</font></b><font color="#990000">(</font>System<font color="#990000">.</font>in<font color="#990000">));</font>
<font color="#000000">049:</font> 
<font color="#000000">050:</font>         <i><font color="#9A1900">// Ladujemy sterownik. Odpowiedni jar powinien byc</font></i>
<font color="#000000">051:</font>         <i><font color="#9A1900">// w classpath, czyli na przyklad mozna dodac</font></i>
<font color="#000000">052:</font>         <i><font color="#9A1900">// '-cp .:/opt/java/db/lib/derby.jar' do wywolania</font></i>
<font color="#000000">053:</font>         <b><font color="#0000FF">final</font></b> String driver <font color="#990000">=</font>
<font color="#000000">054:</font>             <font color="#FF0000">"org.apache.derby.jdbc.EmbeddedDriver"</font><font color="#990000">;</font>
<font color="#000000">055:</font>         <b><font color="#0000FF">try</font></b> <font color="#FF0000">{</font>
<font color="#000000">056:</font>             Class<font color="#990000">.</font><b><font color="#000000">forName</font></b><font color="#990000">(</font>driver<font color="#990000">);</font>
<font color="#000000">057:</font>         <font color="#FF0000">}</font> <b><font color="#0000FF">catch</font></b> <font color="#990000">(</font>Exception e<font color="#990000">)</font> <font color="#FF0000">{</font>
<font color="#000000">058:</font>             System<font color="#990000">.</font>err<font color="#990000">.</font><b><font color="#000000">println</font></b><font color="#990000">(</font>
<font color="#000000">059:</font>                 <font color="#FF0000">"K</font><font color="#CC33CC">\u</font><font color="#FF0000">0142opoty ze sterownikiem "</font> <font color="#990000">+</font> driver<font color="#990000">);</font>
<font color="#000000">060:</font>             System<font color="#990000">.</font><b><font color="#000000">exit</font></b><font color="#990000">(</font><font color="#993399">1</font><font color="#990000">);</font>
<font color="#000000">061:</font>         <font color="#FF0000">}</font>
<font color="#000000">062:</font> 
<font color="#000000">063:</font>         <i><font color="#9A1900">// Lista 'statements', zeby potem wszystkie zamknac</font></i>
<font color="#000000">064:</font>         ArrayList<font color="#990000">&lt;</font>Statement<font color="#990000">&gt;</font> statements <font color="#990000">=</font>
<font color="#000000">065:</font>                                 <b><font color="#0000FF">new</font></b> ArrayList<font color="#990000">&lt;</font>Statement<font color="#990000">&gt;();</font>
<font color="#000000">066:</font> 
<font color="#000000">067:</font>         PreparedStatement prep <font color="#990000">=</font> <b><font color="#0000FF">null</font></b><font color="#990000">;</font>
<font color="#000000">068:</font>         Statement         stat <font color="#990000">=</font> <b><font color="#0000FF">null</font></b><font color="#990000">;</font>
<font color="#000000">069:</font>         ResultSet           rs <font color="#990000">=</font> <b><font color="#0000FF">null</font></b><font color="#990000">;</font>
<font color="#000000">070:</font> 
<font color="#000000">071:</font>         Connection conn <font color="#990000">=</font> <b><font color="#0000FF">null</font></b><font color="#990000">;</font>
<font color="#000000">072:</font>         <b><font color="#0000FF">try</font></b> <font color="#FF0000">{</font>
<font color="#000000">073:</font>             <i><font color="#9A1900">// Nawiazujemy polaczenie i tworzymy nowa</font></i>
<font color="#000000">074:</font>             <i><font color="#9A1900">// baze danych o nazwie 'MojaBaza'</font></i>
<font color="#000000">075:</font>             String db <font color="#990000">=</font> <font color="#FF0000">"MojaBaza"</font><font color="#990000">;</font>
<font color="#000000">076:</font>             conn <font color="#990000">=</font> DriverManager<font color="#990000">.</font><b><font color="#000000">getConnection</font></b><font color="#990000">(</font>
<font color="#000000">077:</font>                 <font color="#FF0000">"jdbc:derby:"</font> <font color="#990000">+</font> db <font color="#990000">+</font> <font color="#FF0000">";create=true"</font><font color="#990000">,</font>
<font color="#000000">078:</font>                     <font color="#FF0000">"uzytkownik"</font><font color="#990000">,</font> <font color="#FF0000">"haslo"</font><font color="#990000">);</font> <i><font color="#9A1900">// tu niewazne</font></i>
<font color="#000000">079:</font>             System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">println</font></b><font color="#990000">(</font><font color="#FF0000">"</font><font color="#CC33CC">\n</font><font color="#FF0000">"</font> <font color="#990000">+</font> db <font color="#990000">+</font> <font color="#FF0000">" utworzona"</font><font color="#990000">);</font>
<font color="#000000">080:</font> 
<font color="#000000">081:</font>             <b><font color="#000000">pause</font></b><font color="#990000">();</font>
<font color="#000000">082:</font> 
<font color="#000000">083:</font>             <i><font color="#9A1900">// drukujemy informacje o bazie danych</font></i>
<font color="#000000">084:</font>             <b><font color="#000000">printMetaInfo</font></b><font color="#990000">(</font>conn<font color="#990000">);</font>
<font color="#000000">085:</font> 
<font color="#000000">086:</font>             <b><font color="#000000">pause</font></b><font color="#990000">();</font>
<font color="#000000">087:</font> 
<font color="#000000">088:</font>             <i><font color="#9A1900">// domyslnie 'autocommit' jest true</font></i>
<font color="#000000">089:</font>             conn<font color="#990000">.</font><b><font color="#000000">setAutoCommit</font></b><font color="#990000">(</font><b><font color="#0000FF">false</font></b><font color="#990000">);</font>
<font color="#000000">090:</font> 
<font color="#000000">091:</font>             stat <font color="#990000">=</font> conn<font color="#990000">.</font><b><font color="#000000">createStatement</font></b><font color="#990000">();</font>
<font color="#000000">092:</font>             statements<font color="#990000">.</font><b><font color="#000000">add</font></b><font color="#990000">(</font>stat<font color="#990000">);</font>
<font color="#000000">093:</font> 
<font color="#000000">094:</font>             <i><font color="#9A1900">// Tworzymy tabele 'Ksiazki' (niezbyt</font></i>
<font color="#000000">095:</font>             <i><font color="#9A1900">// profesjonalnie - nie nasladowac!)</font></i>
<font color="#000000">096:</font>             <b><font color="#0000FF">try</font></b> <font color="#FF0000">{</font>
<font color="#000000">097:</font>                 stat<font color="#990000">.</font><b><font color="#000000">execute</font></b><font color="#990000">(</font><font color="#FF0000">"DROP TABLE Ksiazki"</font><font color="#990000">);</font>
<font color="#000000">098:</font>                 System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">println</font></b><font color="#990000">(</font>
<font color="#000000">099:</font>                     <font color="#FF0000">"</font><font color="#CC33CC">\n</font><font color="#FF0000">Tabela istnieje. Usuwamy.</font><font color="#CC33CC">\n</font><font color="#FF0000">"</font><font color="#990000">);</font>
<font color="#000000">100:</font>             <font color="#FF0000">}</font> <b><font color="#0000FF">catch</font></b> <font color="#990000">(</font>SQLException ignore<font color="#990000">)</font> <font color="#FF0000">{</font> <font color="#FF0000">}</font>
<font color="#000000">101:</font> 
<font color="#000000">102:</font>             stat<font color="#990000">.</font><b><font color="#000000">execute</font></b><font color="#990000">(</font>
<font color="#000000">103:</font>                 <font color="#FF0000">"CREATE TABLE Ksiazki("</font>                  <font color="#990000">+</font>
<font color="#000000">104:</font>                   <font color="#FF0000">"id int GENERATED ALWAYS AS IDENTITY,"</font> <font color="#990000">+</font>
<font color="#000000">105:</font>                   <font color="#FF0000">"aut varchar(40) NOT NULL,"</font>            <font color="#990000">+</font>
<font color="#000000">106:</font>                   <font color="#FF0000">"tyt varchar(90) NOT NULL,"</font>            <font color="#990000">+</font>
<font color="#000000">107:</font>                   <font color="#FF0000">"dat DATE "</font>                            <font color="#990000">+</font>
<font color="#000000">108:</font>                 <font color="#FF0000">")"</font><font color="#990000">);</font>
<font color="#000000">109:</font>             System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">println</font></b><font color="#990000">(</font><font color="#FF0000">"</font><font color="#CC33CC">\n</font><font color="#FF0000">Tabela </font><font color="#CC33CC">\'</font><font color="#FF0000">Ksiazki</font><font color="#CC33CC">\'</font><font color="#FF0000"> OK"</font><font color="#990000">);</font>
<font color="#000000">110:</font> 
<font color="#000000">111:</font>             <i><font color="#9A1900">// populujemy</font></i>
<font color="#000000">112:</font>             prep <font color="#990000">=</font> conn<font color="#990000">.</font><b><font color="#000000">prepareStatement</font></b><font color="#990000">(</font>
<font color="#000000">113:</font>                 <font color="#FF0000">"insert into Ksiazki (aut,tyt,dat) "</font> <font color="#990000">+</font>
<font color="#000000">114:</font>                              <font color="#FF0000">"values (?,?,?)"</font><font color="#990000">);</font>
<font color="#000000">115:</font>             statements<font color="#990000">.</font><b><font color="#000000">add</font></b><font color="#990000">(</font>prep<font color="#990000">);</font>
<font color="#000000">116:</font> 
<font color="#000000">117:</font>             prep<font color="#990000">.</font><b><font color="#000000">setString</font></b><font color="#990000">(</font><font color="#993399">1</font><font color="#990000">,</font> <font color="#FF0000">"Schultz"</font><font color="#990000">);</font>
<font color="#000000">118:</font>             prep<font color="#990000">.</font><b><font color="#000000">setString</font></b><font color="#990000">(</font><font color="#993399">2</font><font color="#990000">,</font> <font color="#FF0000">"Sanatorium pod Klepsydra"</font><font color="#990000">);</font>
<font color="#000000">119:</font>             prep<font color="#990000">.</font><b><font color="#000000">setString</font></b><font color="#990000">(</font><font color="#993399">3</font><font color="#990000">,</font> <font color="#FF0000">"1933-10-10"</font><font color="#990000">);</font>
<font color="#000000">120:</font>             prep<font color="#990000">.</font><b><font color="#000000">executeUpdate</font></b><font color="#990000">();</font>
<font color="#000000">121:</font> 
<font color="#000000">122:</font>             prep<font color="#990000">.</font><b><font color="#000000">setString</font></b><font color="#990000">(</font><font color="#993399">1</font><font color="#990000">,</font> <font color="#FF0000">"Prus"</font><font color="#990000">);</font>
<font color="#000000">123:</font>             prep<font color="#990000">.</font><b><font color="#000000">setString</font></b><font color="#990000">(</font><font color="#993399">2</font><font color="#990000">,</font> <font color="#FF0000">"Lalka"</font><font color="#990000">);</font>
<font color="#000000">124:</font>             prep<font color="#990000">.</font><b><font color="#000000">setString</font></b><font color="#990000">(</font><font color="#993399">3</font><font color="#990000">,</font> <font color="#FF0000">"1889-08-02"</font><font color="#990000">);</font>
<font color="#000000">125:</font>             prep<font color="#990000">.</font><b><font color="#000000">executeUpdate</font></b><font color="#990000">();</font>
<font color="#000000">126:</font> 
<font color="#000000">127:</font>             prep<font color="#990000">.</font><b><font color="#000000">setString</font></b><font color="#990000">(</font><font color="#993399">1</font><font color="#990000">,</font> <font color="#FF0000">"Prus"</font><font color="#990000">);</font>
<font color="#000000">128:</font>             prep<font color="#990000">.</font><b><font color="#000000">setString</font></b><font color="#990000">(</font><font color="#993399">2</font><font color="#990000">,</font> <font color="#FF0000">"Faraon"</font><font color="#990000">);</font>
<font color="#000000">129:</font>             prep<font color="#990000">.</font><b><font color="#000000">setString</font></b><font color="#990000">(</font><font color="#993399">3</font><font color="#990000">,</font> <font color="#FF0000">"1896-05-17"</font><font color="#990000">);</font>
<font color="#000000">130:</font>             prep<font color="#990000">.</font><b><font color="#000000">executeUpdate</font></b><font color="#990000">();</font>
<font color="#000000">131:</font> 
<font color="#000000">132:</font>             prep<font color="#990000">.</font><b><font color="#000000">setString</font></b><font color="#990000">(</font><font color="#993399">1</font><font color="#990000">,</font> <font color="#FF0000">"Gombrowicz"</font><font color="#990000">);</font>
<font color="#000000">133:</font>             prep<font color="#990000">.</font><b><font color="#000000">setString</font></b><font color="#990000">(</font><font color="#993399">2</font><font color="#990000">,</font> <font color="#FF0000">"Ferdydurke"</font><font color="#990000">);</font>
<font color="#000000">134:</font>             prep<font color="#990000">.</font><b><font color="#000000">setString</font></b><font color="#990000">(</font><font color="#993399">3</font><font color="#990000">,</font> <font color="#FF0000">"1937-03-11"</font><font color="#990000">);</font>
<font color="#000000">135:</font>             prep<font color="#990000">.</font><b><font color="#000000">executeUpdate</font></b><font color="#990000">();</font>
<font color="#000000">136:</font> 
<font color="#000000">137:</font>             prep<font color="#990000">.</font><b><font color="#000000">setString</font></b><font color="#990000">(</font><font color="#993399">1</font><font color="#990000">,</font> <font color="#FF0000">"Gombrowicz"</font><font color="#990000">);</font>
<font color="#000000">138:</font>             prep<font color="#990000">.</font><b><font color="#000000">setString</font></b><font color="#990000">(</font><font color="#993399">2</font><font color="#990000">,</font> <font color="#FF0000">"Trans-Atlantyk"</font><font color="#990000">);</font>
<font color="#000000">139:</font>             prep<font color="#990000">.</font><b><font color="#000000">setString</font></b><font color="#990000">(</font><font color="#993399">3</font><font color="#990000">,</font> <font color="#FF0000">"1953-10-09"</font><font color="#990000">);</font>
<font color="#000000">140:</font>             prep<font color="#990000">.</font><b><font color="#000000">executeUpdate</font></b><font color="#990000">();</font>
<font color="#000000">141:</font> 
<font color="#000000">142:</font>             <b><font color="#000000">pause</font></b><font color="#990000">();</font>
<font color="#000000">143:</font> 
<font color="#000000">144:</font>             conn<font color="#990000">.</font><b><font color="#000000">commit</font></b><font color="#990000">();</font>
<font color="#000000">145:</font>             System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">println</font></b><font color="#990000">(</font><font color="#FF0000">"</font><font color="#CC33CC">\n</font><font color="#FF0000">Transakcja zatwierdzona"</font><font color="#990000">);</font>
<font color="#000000">146:</font> 
<font color="#000000">147:</font>             conn<font color="#990000">.</font><b><font color="#000000">setAutoCommit</font></b><font color="#990000">(</font><b><font color="#0000FF">true</font></b><font color="#990000">);</font>
<font color="#000000">148:</font> 
<font color="#000000">149:</font>             rs <font color="#990000">=</font> stat<font color="#990000">.</font><b><font color="#000000">executeQuery</font></b><font color="#990000">(</font>
<font color="#000000">150:</font>                     <font color="#FF0000">"SELECT aut as A, tyt as T, dat as D"</font> <font color="#990000">+</font>
<font color="#000000">151:</font>                     <font color="#FF0000">"    FROM Ksiazki"</font> <font color="#990000">+</font>
<font color="#000000">152:</font>                     <font color="#FF0000">"    WHERE dat &gt; </font><font color="#CC33CC">\'</font><font color="#FF0000">1899-12-31</font><font color="#CC33CC">\'</font><font color="#FF0000">"</font> <font color="#990000">+</font>
<font color="#000000">153:</font>                     <font color="#FF0000">"    ORDER BY dat,aut"</font>
<font color="#000000">154:</font>                  <font color="#990000">);</font>
<font color="#000000">155:</font> 
<font color="#000000">156:</font>             <b><font color="#000000">infoRS</font></b><font color="#990000">(</font>rs<font color="#990000">);</font>
<font color="#000000">157:</font> 
<font color="#000000">158:</font>             <b><font color="#000000">pause</font></b><font color="#990000">();</font>
<font color="#000000">159:</font> 
<font color="#000000">160:</font>             System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">println</font></b><font color="#990000">(</font><font color="#FF0000">"</font><font color="#CC33CC">\n</font><font color="#FF0000">Zwr</font><font color="#CC33CC">\u</font><font color="#FF0000">00f3cone rekordy:"</font><font color="#990000">);</font>
<font color="#000000">161:</font>             <b><font color="#0000FF">while</font></b> <font color="#990000">(</font>rs<font color="#990000">.</font><b><font color="#000000">next</font></b><font color="#990000">())</font> <font color="#FF0000">{</font>
<font color="#000000">162:</font>                 System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">printf</font></b><font color="#990000">(</font>
<font color="#000000">163:</font>                     <font color="#FF0000">"Autor: %11s Tylu</font><font color="#CC33CC">\u</font><font color="#FF0000">0142:%25s (%tY)</font><font color="#CC33CC">\n</font><font color="#FF0000">"</font><font color="#990000">,</font>
<font color="#000000">164:</font>                     rs<font color="#990000">.</font><b><font color="#000000">getString</font></b><font color="#990000">(</font><font color="#993399">1</font><font color="#990000">).</font><b><font color="#000000">trim</font></b><font color="#990000">(),</font>
<font color="#000000">165:</font>                     rs<font color="#990000">.</font><b><font color="#000000">getString</font></b><font color="#990000">(</font><font color="#FF0000">"T"</font><font color="#990000">),</font>
<font color="#000000">166:</font>                     rs<font color="#990000">.</font><b><font color="#000000">getDate</font></b><font color="#990000">(</font><font color="#FF0000">"D"</font><font color="#990000">)</font>
<font color="#000000">167:</font>                 <font color="#990000">);</font>
<font color="#000000">168:</font>             <font color="#FF0000">}</font>
<font color="#000000">169:</font> 
<font color="#000000">170:</font>             <i><font color="#9A1900">// usuwamy tabele</font></i>
<font color="#000000">171:</font>             System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">print</font></b><font color="#990000">(</font>
<font color="#000000">172:</font>                 <font color="#FF0000">"</font><font color="#CC33CC">\n</font><font color="#FF0000">Czy usun</font><font color="#CC33CC">\u</font><font color="#FF0000">0105</font><font color="#CC33CC">\u</font><font color="#FF0000">0107 tabel"</font> <font color="#990000">+</font>
<font color="#000000">173:</font>                 <font color="#FF0000">"</font><font color="#CC33CC">\u</font><font color="#FF0000">0119 </font><font color="#CC33CC">\'</font><font color="#FF0000">Ksiazki</font><font color="#CC33CC">\'</font><font color="#FF0000">? (yYtT/nN) [n] "</font><font color="#990000">);</font>
<font color="#000000">174:</font>             String odp <font color="#990000">=</font> <b><font color="#0000FF">null</font></b><font color="#990000">;</font>
<font color="#000000">175:</font>             <b><font color="#0000FF">try</font></b> <font color="#FF0000">{</font>
<font color="#000000">176:</font>                 odp <font color="#990000">=</font> br<font color="#990000">.</font><b><font color="#000000">readLine</font></b><font color="#990000">().</font><b><font color="#000000">trim</font></b><font color="#990000">();</font>
<font color="#000000">177:</font>             <font color="#FF0000">}</font> <b><font color="#0000FF">catch</font></b><font color="#990000">(</font>IOException e<font color="#990000">)</font> <font color="#FF0000">{</font>
<font color="#000000">178:</font>                 System<font color="#990000">.</font><b><font color="#000000">exit</font></b><font color="#990000">(</font><font color="#993399">1</font><font color="#990000">);</font>
<font color="#000000">179:</font>             <font color="#FF0000">}</font>
<font color="#000000">180:</font>             <b><font color="#0000FF">if</font></b> <font color="#990000">(</font>odp<font color="#990000">.</font><b><font color="#000000">matches</font></b><font color="#990000">(</font><font color="#FF0000">"[yYtT]"</font><font color="#990000">))</font> <font color="#FF0000">{</font>
<font color="#000000">181:</font>                 stat<font color="#990000">.</font><b><font color="#000000">execute</font></b><font color="#990000">(</font><font color="#FF0000">"DROP TABLE Ksiazki"</font><font color="#990000">);</font>
<font color="#000000">182:</font>                 System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">println</font></b><font color="#990000">(</font>
<font color="#000000">183:</font>                     <font color="#FF0000">"</font><font color="#CC33CC">\n</font><font color="#FF0000">Tabela </font><font color="#CC33CC">\'</font><font color="#FF0000">Ksiazki</font><font color="#CC33CC">\'</font><font color="#FF0000"> usuni</font><font color="#CC33CC">\u</font><font color="#FF0000">0119ta"</font><font color="#990000">);</font>
<font color="#000000">184:</font>             <font color="#FF0000">}</font> <b><font color="#0000FF">else</font></b> <font color="#FF0000">{</font>
<font color="#000000">185:</font>                 System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">println</font></b><font color="#990000">(</font>
<font color="#000000">186:</font>                     <font color="#FF0000">"</font><font color="#CC33CC">\n</font><font color="#FF0000">Tabela </font><font color="#CC33CC">\'</font><font color="#FF0000">Ksiazki</font><font color="#CC33CC">\'</font><font color="#FF0000"> zachowana"</font><font color="#990000">);</font>
<font color="#000000">187:</font>             <font color="#FF0000">}</font>
<font color="#000000">188:</font> 
<font color="#000000">189:</font>             <i><font color="#9A1900">// Normalnie nie zatrzymujemy serwera bazy</font></i>
<font color="#000000">190:</font>             <i><font color="#9A1900">// z programu - dla Derby to robimy, bo on</font></i>
<font color="#000000">191:</font>             <i><font color="#9A1900">// jest tu "embedded", a nie zewnetrzny</font></i>
<font color="#000000">192:</font>             <b><font color="#0000FF">try</font></b> <font color="#FF0000">{</font>
<font color="#000000">193:</font>                 DriverManager<font color="#990000">.</font><b><font color="#000000">getConnection</font></b><font color="#990000">(</font>
<font color="#000000">194:</font>                         <font color="#FF0000">"jdbc:derby:;shutdown=true"</font><font color="#990000">);</font>
<font color="#000000">195:</font>                 <i><font color="#9A1900">// mozna tez zamknac konkretna baze:</font></i>
<font color="#000000">196:</font>                 <i><font color="#9A1900">// "jdbc:derby:MojaBaza;shutdown=true");</font></i>
<font color="#000000">197:</font>             <font color="#FF0000">}</font>
<font color="#000000">198:</font>             <b><font color="#0000FF">catch</font></b> <font color="#990000">(</font>SQLException se<font color="#990000">)</font> <font color="#FF0000">{</font>
<font color="#000000">199:</font>                 <i><font color="#9A1900">// Derby przy zamykaniu zglasza wyjatek</font></i>
<font color="#000000">200:</font>                 System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">println</font></b><font color="#990000">(</font><font color="#FF0000">"</font><font color="#CC33CC">\n</font><font color="#FF0000">Derby zatrzymane</font><font color="#CC33CC">\n</font><font color="#FF0000">"</font><font color="#990000">);</font>
<font color="#000000">201:</font>             <font color="#FF0000">}</font>
<font color="#000000">202:</font>         <font color="#FF0000">}</font>
<font color="#000000">203:</font>         <b><font color="#0000FF">catch</font></b> <font color="#990000">(</font>SQLException e<font color="#990000">)</font> <font color="#FF0000">{</font>
<font color="#000000">204:</font>             <b><font color="#000000">printSQLException</font></b><font color="#990000">(</font>e<font color="#990000">);</font>
<font color="#000000">205:</font>         <font color="#FF0000">}</font> <b><font color="#0000FF">finally</font></b> <font color="#FF0000">{</font>
<font color="#000000">206:</font>             <i><font color="#9A1900">// Zamykamy polaczenie</font></i>
<font color="#000000">207:</font>             <b><font color="#0000FF">try</font></b> <font color="#FF0000">{</font>
<font color="#000000">208:</font>                 <b><font color="#0000FF">if</font></b> <font color="#990000">(</font>conn <font color="#990000">!=</font> <b><font color="#0000FF">null</font></b><font color="#990000">)</font> <font color="#FF0000">{</font>
<font color="#000000">209:</font>                     conn<font color="#990000">.</font><b><font color="#000000">close</font></b><font color="#990000">();</font>
<font color="#000000">210:</font>                     conn <font color="#990000">=</font> <b><font color="#0000FF">null</font></b><font color="#990000">;</font>
<font color="#000000">211:</font>                 <font color="#FF0000">}</font>
<font color="#000000">212:</font>             <font color="#FF0000">}</font> <b><font color="#0000FF">catch</font></b> <font color="#990000">(</font>SQLException e<font color="#990000">)</font> <font color="#FF0000">{</font>
<font color="#000000">213:</font>                 <b><font color="#000000">printSQLException</font></b><font color="#990000">(</font>e<font color="#990000">);</font>
<font color="#000000">214:</font>             <font color="#FF0000">}</font>
<font color="#000000">215:</font>             <i><font color="#9A1900">// Zamykamy ResultSet</font></i>
<font color="#000000">216:</font>             <b><font color="#0000FF">try</font></b> <font color="#FF0000">{</font>
<font color="#000000">217:</font>                 <b><font color="#0000FF">if</font></b> <font color="#990000">(</font>rs <font color="#990000">!=</font> <b><font color="#0000FF">null</font></b><font color="#990000">)</font> <font color="#FF0000">{</font>
<font color="#000000">218:</font>                     rs<font color="#990000">.</font><b><font color="#000000">close</font></b><font color="#990000">();</font>
<font color="#000000">219:</font>                     rs <font color="#990000">=</font> <b><font color="#0000FF">null</font></b><font color="#990000">;</font>
<font color="#000000">220:</font>                 <font color="#FF0000">}</font>
<font color="#000000">221:</font>             <font color="#FF0000">}</font> <b><font color="#0000FF">catch</font></b> <font color="#990000">(</font>SQLException e<font color="#990000">)</font> <font color="#FF0000">{</font>
<font color="#000000">222:</font>                 <b><font color="#000000">printSQLException</font></b><font color="#990000">(</font>e<font color="#990000">);</font>
<font color="#000000">223:</font>             <font color="#FF0000">}</font>
<font color="#000000">224:</font>             <i><font color="#9A1900">// zamykamy wszystkie statements</font></i>
<font color="#000000">225:</font>             <b><font color="#0000FF">for</font></b> <font color="#990000">(</font>Statement s <font color="#990000">:</font> statements<font color="#990000">)</font> <font color="#FF0000">{</font>
<font color="#000000">226:</font>                 <b><font color="#0000FF">try</font></b> <font color="#FF0000">{</font>
<font color="#000000">227:</font>                     <b><font color="#0000FF">if</font></b> <font color="#990000">(</font>s <font color="#990000">!=</font> <b><font color="#0000FF">null</font></b><font color="#990000">)</font> <font color="#FF0000">{</font>
<font color="#000000">228:</font>                         s<font color="#990000">.</font><b><font color="#000000">close</font></b><font color="#990000">();</font>
<font color="#000000">229:</font>                         s <font color="#990000">=</font> <b><font color="#0000FF">null</font></b><font color="#990000">;</font>
<font color="#000000">230:</font>                     <font color="#FF0000">}</font>
<font color="#000000">231:</font>                 <font color="#FF0000">}</font> <b><font color="#0000FF">catch</font></b> <font color="#990000">(</font>SQLException e<font color="#990000">)</font> <font color="#FF0000">{</font>
<font color="#000000">232:</font>                     <b><font color="#000000">printSQLException</font></b><font color="#990000">(</font>e<font color="#990000">);</font>
<font color="#000000">233:</font>                 <font color="#FF0000">}</font>
<font color="#000000">234:</font>             <font color="#FF0000">}</font>
<font color="#000000">235:</font>         <font color="#FF0000">}</font>
<font color="#000000">236:</font>         System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">println</font></b><font color="#990000">(</font><font color="#FF0000">"--- KONIEC ---"</font><font color="#990000">);</font>
<font color="#000000">237:</font>     <font color="#FF0000">}</font>
<font color="#000000">238:</font> 
<font color="#000000">239:</font>     <b><font color="#0000FF">public</font></b> <b><font color="#0000FF">static</font></b> <font color="#009900">void</font> <b><font color="#000000">printSQLException</font></b><font color="#990000">(</font>SQLException e<font color="#990000">)</font> <font color="#FF0000">{</font>
<font color="#000000">240:</font>         <b><font color="#0000FF">while</font></b> <font color="#990000">(</font>e <font color="#990000">!=</font> <b><font color="#0000FF">null</font></b><font color="#990000">)</font> <font color="#FF0000">{</font>
<font color="#000000">241:</font>             System<font color="#990000">.</font>err<font color="#990000">.</font><b><font color="#000000">println</font></b><font color="#990000">(</font><font color="#FF0000">"Messg: "</font> <font color="#990000">+</font> e<font color="#990000">.</font><b><font color="#000000">getMessage</font></b><font color="#990000">());</font>
<font color="#000000">242:</font>             e <font color="#990000">=</font> e<font color="#990000">.</font><b><font color="#000000">getNextException</font></b><font color="#990000">();</font>
<font color="#000000">243:</font>         <font color="#FF0000">}</font>
<font color="#000000">244:</font>         System<font color="#990000">.</font><b><font color="#000000">exit</font></b><font color="#990000">(</font><font color="#993399">1</font><font color="#990000">);</font>
<font color="#000000">245:</font>     <font color="#FF0000">}</font>
<font color="#000000">246:</font> 
<font color="#000000">247:</font>     <b><font color="#0000FF">public</font></b> <b><font color="#0000FF">static</font></b> <font color="#009900">void</font> <b><font color="#000000">printMetaInfo</font></b><font color="#990000">(</font>Connection conn<font color="#990000">)</font> <font color="#FF0000">{</font>
<font color="#000000">248:</font>         <b><font color="#0000FF">try</font></b> <font color="#FF0000">{</font>
<font color="#000000">249:</font>             DatabaseMetaData dbmd <font color="#990000">=</font> conn<font color="#990000">.</font><b><font color="#000000">getMetaData</font></b><font color="#990000">();</font>
<font color="#000000">250:</font>             System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">println</font></b><font color="#990000">(</font><font color="#FF0000">"</font><font color="#CC33CC">\n</font><font color="#FF0000">Baza:          "</font> <font color="#990000">+</font>
<font color="#000000">251:</font>                 dbmd<font color="#990000">.</font><b><font color="#000000">getDatabaseProductName</font></b><font color="#990000">());</font>
<font color="#000000">252:</font>             System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">println</font></b><font color="#990000">(</font><font color="#FF0000">"Nr wersji:       "</font> <font color="#990000">+</font>
<font color="#000000">253:</font>                 dbmd<font color="#990000">.</font><b><font color="#000000">getDatabaseMajorVersion</font></b><font color="#990000">());</font>
<font color="#000000">254:</font>             System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">println</font></b><font color="#990000">(</font><font color="#FF0000">"Nr podwersji:    "</font> <font color="#990000">+</font>
<font color="#000000">255:</font>                 dbmd<font color="#990000">.</font><b><font color="#000000">getDatabaseMinorVersion</font></b><font color="#990000">());</font>
<font color="#000000">256:</font>             System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">println</font></b><font color="#990000">(</font><font color="#FF0000">"Sterownik:       "</font> <font color="#990000">+</font>
<font color="#000000">257:</font>                 dbmd<font color="#990000">.</font><b><font color="#000000">getDriverName</font></b><font color="#990000">());</font>
<font color="#000000">258:</font>             System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">println</font></b><font color="#990000">(</font><font color="#FF0000">"Wersja ster.:    "</font> <font color="#990000">+</font>
<font color="#000000">259:</font>                 dbmd<font color="#990000">.</font><b><font color="#000000">getDriverMajorVersion</font></b><font color="#990000">());</font>
<font color="#000000">260:</font>             System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">println</font></b><font color="#990000">(</font><font color="#FF0000">"Podwersja ster.: "</font> <font color="#990000">+</font>
<font color="#000000">261:</font>                 dbmd<font color="#990000">.</font><b><font color="#000000">getDriverMinorVersion</font></b><font color="#990000">());</font>
<font color="#000000">262:</font>             System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">println</font></b><font color="#990000">(</font><font color="#FF0000">"Transakcje:      "</font> <font color="#990000">+</font>
<font color="#000000">263:</font>                 dbmd<font color="#990000">.</font><b><font color="#000000">supportsTransactions</font></b><font color="#990000">());</font>
<font color="#000000">264:</font>         <font color="#FF0000">}</font>
<font color="#000000">265:</font>         <b><font color="#0000FF">catch</font></b><font color="#990000">(</font>SQLException e<font color="#990000">)</font> <font color="#FF0000">{</font>
<font color="#000000">266:</font>             <b><font color="#000000">printSQLException</font></b><font color="#990000">(</font>e<font color="#990000">);</font>
<font color="#000000">267:</font>         <font color="#FF0000">}</font>
<font color="#000000">268:</font>     <font color="#FF0000">}</font>
<font color="#000000">269:</font> 
<font color="#000000">270:</font>     <b><font color="#0000FF">private</font></b> <b><font color="#0000FF">static</font></b> <font color="#009900">void</font> <b><font color="#000000">pause</font></b><font color="#990000">()</font> <font color="#FF0000">{</font>
<font color="#000000">271:</font>         System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">print</font></b><font color="#990000">(</font><font color="#FF0000">"</font><font color="#CC33CC">\n</font><font color="#FF0000">Naci</font><font color="#CC33CC">\u</font><font color="#FF0000">015bnij ENTER "</font><font color="#990000">);</font>
<font color="#000000">272:</font>         <b><font color="#0000FF">try</font></b> <font color="#FF0000">{</font>
<font color="#000000">273:</font>             br<font color="#990000">.</font><b><font color="#000000">readLine</font></b><font color="#990000">();</font>
<font color="#000000">274:</font>         <font color="#FF0000">}</font> <b><font color="#0000FF">catch</font></b><font color="#990000">(</font>IOException ignore<font color="#990000">)</font><font color="#FF0000">{</font> <font color="#FF0000">}</font><font color="#990000">;</font>
<font color="#000000">275:</font>     <font color="#FF0000">}</font>
<font color="#000000">276:</font> 
<font color="#000000">277:</font>     <b><font color="#0000FF">private</font></b> <b><font color="#0000FF">static</font></b> <font color="#009900">void</font> <b><font color="#000000">infoRS</font></b><font color="#990000">(</font>ResultSet rs<font color="#990000">)</font> <font color="#FF0000">{</font>
<font color="#000000">278:</font>         <b><font color="#0000FF">try</font></b> <font color="#FF0000">{</font>
<font color="#000000">279:</font>             ResultSetMetaData rsmd <font color="#990000">=</font> rs<font color="#990000">.</font><b><font color="#000000">getMetaData</font></b><font color="#990000">();</font>
<font color="#000000">280:</font>             <font color="#009900">int</font> cols <font color="#990000">=</font>  rsmd<font color="#990000">.</font><b><font color="#000000">getColumnCount</font></b><font color="#990000">();</font>
<font color="#000000">281:</font> 
<font color="#000000">282:</font>             System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">println</font></b><font color="#990000">(</font><font color="#FF0000">"</font><font color="#CC33CC">\n</font><font color="#FF0000">RS META INFO:"</font><font color="#990000">);</font>
<font color="#000000">283:</font>             <b><font color="#0000FF">for</font></b><font color="#990000">(</font><font color="#009900">int</font> c <font color="#990000">=</font> <font color="#993399">0</font><font color="#990000">;</font> c <font color="#990000">&lt;</font> cols<font color="#990000">;</font> <font color="#990000">++</font>c<font color="#990000">)</font> <font color="#FF0000">{</font>
<font color="#000000">284:</font>                 System<font color="#990000">.</font>out<font color="#990000">.</font><b><font color="#000000">printf</font></b><font color="#990000">(</font><font color="#FF0000">"Kol %2d, Name %5s, "</font>   <font color="#990000">+</font>
<font color="#000000">285:</font>                         <font color="#FF0000">"Type %2d, TypeName %s</font><font color="#CC33CC">\n</font><font color="#FF0000">        "</font> <font color="#990000">+</font>
<font color="#000000">286:</font>                         <font color="#FF0000">"TableName %6s, Class %s</font><font color="#CC33CC">\n\n</font><font color="#FF0000">"</font><font color="#990000">,</font>
<font color="#000000">287:</font>                     c<font color="#990000">,</font>
<font color="#000000">288:</font>                     rsmd<font color="#990000">.</font><b><font color="#000000">getColumnName</font></b><font color="#990000">(</font>c<font color="#990000">+</font><font color="#993399">1</font><font color="#990000">),</font>
<font color="#000000">289:</font>                     rsmd<font color="#990000">.</font><b><font color="#000000">getColumnType</font></b><font color="#990000">(</font>c<font color="#990000">+</font><font color="#993399">1</font><font color="#990000">),</font>
<font color="#000000">290:</font>                     rsmd<font color="#990000">.</font><b><font color="#000000">getColumnTypeName</font></b><font color="#990000">(</font>c<font color="#990000">+</font><font color="#993399">1</font><font color="#990000">),</font>
<font color="#000000">291:</font>                     rsmd<font color="#990000">.</font><b><font color="#000000">getTableName</font></b><font color="#990000">(</font>c<font color="#990000">+</font><font color="#993399">1</font><font color="#990000">),</font>
<font color="#000000">292:</font>                     rsmd<font color="#990000">.</font><b><font color="#000000">getColumnClassName</font></b><font color="#990000">(</font>c<font color="#990000">+</font><font color="#993399">1</font><font color="#990000">));</font>
<font color="#000000">293:</font>             <font color="#FF0000">}</font>
<font color="#000000">294:</font>         <font color="#FF0000">}</font> <b><font color="#0000FF">catch</font></b><font color="#990000">(</font>SQLException e<font color="#990000">)</font> <font color="#FF0000">{</font>
<font color="#000000">295:</font>              <b><font color="#000000">printSQLException</font></b><font color="#990000">(</font>e<font color="#990000">);</font>
<font color="#000000">296:</font>         <font color="#FF0000">}</font>
<font color="#000000">297:</font>     <font color="#FF0000">}</font>
<font color="#000000">298:</font> <font color="#FF0000">}</font></tt></pre>
</body>
</html>
